package com.tansun.easycare.rule.common.rulebasebean;

import java.util.ArrayList;
import java.util.List;

import com.tansun.rule.model.toolbean.FunctionItem;

/**
 * 规则集对应Drl文件的生成
 *
 * @author WY
 */
public class RuleCollection {
    public static final String RULETABLE = "ruleTable";        //决策表
    public static final String RULETREE = "ruleTree";        //决策树
    public static final String POLICYTREE = "policyTree";    //策略树
    public static final String RULEINDEX = "ruleIndex";        //赋值索引
    public static final String RULESCORE = "ruleScore";        //评分卡
    public static final String RULEGRP = "ruleGroup";            //规则集
    public static final String POLIRULEGRP = "policyRuleGroup";            //复杂规则集
    public static final String SIMPLERULEGRP = "simpleRuleGroup";            //简易规则集
    public static final String EXCLUSIONS = "exclusions";            //排除项
    /**
     * id
     */
    private String id;
    /**
     * DRL保存路径
     */
    private String savePath;
    /**
     * 类型：决策表、决策树、规则集等
     */
    private String contentType;
    /**
     * drl文件名：code
     */
    private String drlName;
    /**
     * 规则集中文名
     */
    private String objName;
    /**
     * 版本 v1.1
     */
    private String version;
    /**
     * 规则注释
     */
    private String comment;
    /**
     * 规则包：和目录一致
     */
    private String droolsPackageHeader;
    /**
     * 导入字符串
     */
    private List<String> droolsImport = new ArrayList<String>();
    /**
     * 全局变量
     */
    private List<String> droolsGlobal = new ArrayList<String>();

    /**
     * drools rule set attr dialect default out(dialect "mvel")
     */
    private String droolsDialect = "mvel";
    /**
     * drools rule set attr lock–on–active default out:(lock–on–active true)
     */
    private String lockOnActive;
    /**
     * drools rule set attr ruleflow–group out(ruleflow–group "xxx.xxx")
     */
    private String ruleflowGroup;

    /**
     * 规则项
     */
    private List<RuleItem> listItem = new ArrayList<RuleItem>();

    private List<FunctionItem> funcList = new ArrayList<FunctionItem>();
    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public String getComment() {
        return comment;
    }

    public String getObjName() {
        return objName;
    }

    public void setObjName(String objName) {
        this.objName = objName;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getDroolsPackageHeader() {
        return droolsPackageHeader;
    }

    public void setDroolsPackageHeader(String droolsPackageHeader) {
        this.droolsPackageHeader = droolsPackageHeader;
    }

    public String getDrlName() {
        return drlName;
    }

    public void setDrlName(String drlName) {
        this.drlName = drlName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public List<String> getDroolsImport() {
        return droolsImport;
    }

    public void setDroolsImport(List<String> droolsImport) {
        this.droolsImport = droolsImport;
    }

    public List<String> getDroolsGlobal() {
        return droolsGlobal;
    }

    public void setDroolsGlobal(List<String> droolsGlobal) {
        this.droolsGlobal = droolsGlobal;
    }

    public String getDroolsDialect() {
        return droolsDialect;
    }

    public void setDroolsDialect(String droolsDialect) {
        this.droolsDialect = droolsDialect;
    }

    public String getLockOnActive() {
        return lockOnActive;
    }

    public void setLockOnActive(String lockOnActive) {
        this.lockOnActive = lockOnActive;
    }

    public String getRuleflowGroup() {
        return ruleflowGroup;
    }

    public void setRuleflowGroup(String ruleflowGroup) {
        this.ruleflowGroup = ruleflowGroup;
    }

    public List<RuleItem> getListItem() {
        return listItem;
    }

    public void setListItem(List<RuleItem> listItem) {
        this.listItem = listItem;
    }

    public String getSavePath() {
        return savePath;
    }

    public void setSavePath(String savePath) {
        this.savePath = savePath;
    }

	public List<FunctionItem> getFuncList() {
		return funcList;
	}

	public void setFuncList(List<FunctionItem> funcList) {
		this.funcList = funcList;
	}
    

}
